$(function(){
	$('#role-manage').datagrid({
		toolbar : '#role_manager_tool',
		fitColumns : true,
		striped : true,
		rownumbers : true,
		border : false,
		columns : [[
			           {
			        	   field : 'id',
			        	   title : '编号',
			        	   width : 100,
			        	   checkbox : true,
			           },
			           {
			        	   field : 'roleName',
			        	   title : '角色名称',
			        	   width : 100,
			           },
			           {
			        	   field : 'authName',
			        	   title : '拥有权限',
			        	   width : 300,
			           },
			           {
			        	   field : 'authId',
			        	   title : '权限ID',
			        	   width : 300,
			        	   hidden : true,
			           },
		           ]],
	});
	
	//获取角色列表，并添加到datagrid
	function roleList(){
		$.ajax({
			url : GLOBAL.base + '/role/selectAllRole',
			type : 'POST',
			success : function(data){
				if(data.retData.code == 0){
					var roleList = data.retData.data.roleList;
					console.log(roleList);
					for (var i = 0; i < roleList.length; i++) {
						var a = {
							id : roleList[i].roleId,	
							roleName : roleList[i].roleName,
							authName : roleList[i].authName,
							authId : roleList[i].authId,
						};
						$('#role-manage').datagrid('appendRow',a);
					}
				}else{
					$.messager.alert('警告',data.retData.msg,'warning');
				}
			}
		});
	}
	roleList();
	//清空所有datagrid数据
	function del_datagrid(){
		var item = $("#role-manage").datagrid('getRows');
		if(item){
			for (var i = item.length-1; i >=0; i--) {
				var index = $("#role-manage").datagrid('getRowIndex',item[i]);
				$("#role-manage").datagrid('deleteRow',index);
			}
		}
	}
	
	/*
	 * 添加角色
	 */
	$('#role_add').dialog({
		width : 350,
		title : '添加角色',
		modal : true,
		closed : true,
		iconCls : 'icon-add-new',
		buttons :[{
			text : '提交',
			iconCls : 'icon-add-new',
			handler : function(){
				if($("#role_add").form('validate')){
					var values = $("#role_auth").combotree('getValues');
					var ids = [];
					for (var i = 0; i < values.length; i++) {
						ids.push(values[i]);
					}
					$.ajax({
						url : GLOBAL.base +'/role/addRole',
						type : 'POST',
						data : {
							roleName : $("input[name=role_name]").val(),
							ids : ids.join(','),
						},
						beforeSend : function(){
							$.messager.progress({
								text : '正在新增中...',
							});
						},
						success : function(data){
							$.messager.progress('close');
							if(data.retData.code == 0){
								$.messager.show({
									title : '提示',
									msg : '新增角色成功',
								});
								$("#role_add").dialog('close');
								del_datagrid();
								roleList();
							}else{
								$.messager.alert('新增失败！',data.retData.msg,'warning');
							}
						}
					});
				}
			}
		}],
	});
	
	/*
	 * 添加角色
	 */
	$('#role_edit').dialog({
		width : 350,
		title : '编辑角色',
		modal : true,
		closed : true,
		iconCls : 'icon-edit-new',
		buttons :[{
			text : '提交',
			iconCls : 'icon-edit-new',
			handler : function(){
				if($("#role_edit").form('validate')){
					$.ajax({
						url : GLOBAL.base +'/user/addUser',
						type : 'POST',
						data : {
							loginName : $("input[name=role_name_edit]").val(),
							//auth : $("input[name=auth]").combotree('getText'),
						},
						beforeSend : function(){
							$.messager.progress({
								text : '正在修改中...',
							});
						},
						success : function(data){
							$.messager.progress('close');
							if(data.retData.code == 0){
								$.messager.show({
									title : '提示',
									msg : '修改用户成功',
								});
								$("#role_edit").dialog('close');
								del_datagrid();
								userList();
							}else{
								$.messager.alert('修改失败！',data.retData.msg,'warning');
							}
						}
					});
				}
			}
		}],
	});
	
	$('#role_auth').combotree({
		multiple:true,
		lines : true,
	});
	$('#role_auth_edit').combotree({
		multiple:true,
		lines : true,
	});
	
	
	loadMenuTree();
	
	function loadMenuTree(){
		$.ajax({
			url : GLOBAL.base + '/menu/auth',
			type : 'POST',
			dataType : 'json',
			ansyc : false,
			success : function(data){
				if(data.retData.code == 0){
					var menuList = data.retData.data.menuList;
					$('#role_auth').combotree("loadData",menuList);
					$('#role_auth_edit').combotree("loadData",menuList);
				}else{
					$.messager.alert('警告',data.retData.msg,'warning');
				}
			}
		});
	}
	//role_manager_tool
	role_manager_tool = {
			reload : function () {
				del_datagrid();
				roleList();
			},
			redo : function () {
				$('#role-manage').datagrid('unselectAll');
			},
			add : function(){
				$("#role_add").dialog('open');
				$("#input[name=role_name]").focus();
			},
			remove : function(){
			},
			edit : function(){
				var rows = $('#role-manage').datagrid('getSelections');
				if(rows.length>1){
					$.messager.alert('警告操作！','编辑记录只能选定一条数据','warning');
				}else if(rows.length==1){
					var authId = rows[0].authId.split(",");
					console.log(authId);
					for (var i = 0; i < authId.length; i++) {
						var node = $('#role_auth_edit').combotree('tree').tree('find',authId[i]);
						console.log(node);
						//$('#role_auth_edit').combotree('tree').tree('check',node.target);
					}
					$('#role_auth_edit').combotree('check',rows[0].authName);
					$('#role_edit').form('load',{
						role_name_edit : rows[0].roleName,
						//role_auth_edit : rows[0].authName,
					}).dialog('open');
				}else{
					$.messager.alert('警告操作','编辑记录至少选定一条数据','warning');
				}
			}
	};
	
});